From c5b18ee66a8658c743ba11c945569756be39632f Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Fri, 12 Mar 2021 14:13:18 +0800 Subject: [PATCH] status/network: Ensure the Cancel button passes undefined to close() The parameter to `ModalDialog.close(timestamp)` is optional. But when invoked via the network dialog's Cancel button it was receiving an implicit parameter value that's definitely not a timestamp: ``` [0x560f18af0c50 StButton.modal-dialog-linked-button:first-child hover ("Cancel")] ``` And as of today (or gjs >= 1.67.3) that's reported as an error: ``` JS ERROR: Error: Argument timestamp: value is out of range for uint32 popModal@resource:///org/gnome/shell/ui/main.js:638:12 popModal@resource:///org/gnome/shell/ui/modalDialog.js:206:14 close@resource:///org/gnome/shell/ui/modalDialog.js:179:14 ``` and so you can't Cancel the dialog anymore. Make sure `ModalDialog.close()` receives an `undefined` timestamp it knows how to handle. Fixes: https://bugs.launchpad.net/bugs/1918666 Part-of: --- js/ui/status/network.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/status/network.js b/js/ui/status/network.js index bb119f690..50423048c 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -937,7 +937,7 @@ class NMWirelessDialog extends ModalDialog.ModalDialog { this.contentLayout.add_child(this._stack); - this._disconnectButton = this.addButton({ action: this.close.bind(this), + this._disconnectButton = this.addButton({ action: () => this.close(), label: _("Cancel"), key: Clutter.KEY_Escape }); this._connectButton = this.addButton({ action: this._connect.bind(this), -- 2.39.5